## Create survey object.
options(digits = 4)
options(survey.lonely.psu = "adjust")
des <- svydesign(ids = ~1, weights = ~weight, data = df[is.na(df$weight)==F, ])

Q12. Which of the following actions do you take to avoid getting sick?

# subset question data, rename columns, gather into single column
q12_df <- df %>%
  select(CaseID, PPGENDER, PPAGE, ppagecat, PPETHM, PPINCIMP, PPEDUC, PPEDUCAT,
         work, PPWORK, marital, PPMARIT, PPMSACAT, ppreg9, PPSTATEN, PPHOUSE, PPRENT, PPNET, Q12_1:Q12_15, weight) %>%
    rename("Q12_1_Avoid.touching.my.eyes" = Q12_1,
         "Q12_2_Avoid.touching.my.nose" = Q12_2,
         "Q12_3_Avoid.touching.my.mouth" =  Q12_3,
         "Q12_4_Wash.my.hands.with.soap.more.often"= Q12_4,
         "Q12_5_Use.hand.sanitizers" = Q12_5,
         "Q12_6_Clean.the.surfaces.in.my.home" =    Q12_6,
         "Q12_7_Clean.the.surfaces.at.work" = Q12_7,
         "Q12_8_Eat.nutritious.food" = Q12_8,
         "Q12_9_Get.adequate.rest" = Q12_9,
         "Q12_10_Get.recommended.vaccine" = Q12_10,
         "Q12_11_Take.preventive.medicine" = Q12_11,
         "Q12_12_Cover.my.nose.and.mouth.with.a.surgical.mask" = Q12_12,
         "Q12_13_Avoid.contact.with.people.who.are.sick" = Q12_13,
         "Q12_14_Avoid.crowded.places" = Q12_14,
         "Q12_15_Other" = Q12_15) %>%
  gather(Q12_q, Q12_r, Q12_1_Avoid.touching.my.eyes:Q12_15_Other, na.rm = T) %>%
  mutate(Q12_q = as.factor(Q12_q)) %>%
  mutate(Q12_r = factor(Q12_r, levels = c("Always", "Sometimes", "Never")))
# survey design
options(digits = 4)
options(survey.lonely.psu = "adjust")
des12 <- svydesign(ids = ~1, weights = ~weight, data = q12_df[is.na(q12_df$weight)==F, ])

rr p2 + geom_bar() + aes(Q12_q, fill = PPGENDER) + facet_wrap(~Q12_r)

rr p2 + geom_bar() + aes(PPGENDER, fill = PPGENDER) + facet_grid(Q12_q~Q12_r) + coord_flip() + ptext2

rr p2 + geom_bar() + aes(Q12_q, fill = ppagecat) + facet_wrap(~Q12_r)

rr p2 + geom_bar() + aes(ppagecat, fill = ppagecat) + facet_grid(Q12_q~Q12_r) + ptext2

rr p2 + geom_bar() + aes(Q12_q, fill = PPETHM) + facet_wrap(~Q12_r)

rr p2 + geom_bar() + aes(PPETHM, fill = PPETHM) + facet_grid(Q12_q~Q12_r) + ptext2

rr p2 + geom_bar() + aes(Q12_r, fill = Q12_r) + facet_grid(Q12_q~PPETHM) + ptext2

rr p2 + geom_bar() + aes(Q12_q, fill = PPINCIMP) + facet_wrap(~Q12_r)

rr p2 + geom_bar() + aes(PPINCIMP, fill = PPINCIMP) + facet_grid(Q12_q~Q12_r) + ptext2

Education, work, marital status

rr # update weighted data frame q12.2 <- data.frame(svytable(~Q12_q + Q12_r + PPEDUC + PPEDUCAT + work + PPWORK + marital + PPMARIT, des12, round = T)) # restate plots p3 <- ggplot(q12.2, aes(Q12_q, weight = Freq)) + ptext

rr p3 + geom_bar() + aes(Q12_q, fill = PPEDUCAT) + facet_wrap(~Q12_r)

rr p3 + geom_bar() + aes(PPEDUCAT, fill = PPEDUCAT) + facet_grid(Q12_q~Q12_r) + ptext2

rr p3 + geom_bar() + aes(Q12_r, fill = Q12_r) + facet_grid(Q12_q~PPEDUCAT) + ptext2

Metro status, region, state, house type, housing status, internet availability

rr # update weighted data frame q12.3 <- data.frame(svytable(~Q12_q + Q12_r + PPMSACAT + ppreg9 + PPSTATEN + PPHOUSE + PPRENT + PPNET, des12, round = T)) # restate plots p4 <- ggplot(q12.3, aes(Q12_q, weight = Freq)) + ptext

LS0tCnRpdGxlOiAnUTEyJwpvdXRwdXQ6CiAgaHRtbF9kb2N1bWVudDoKICAgIGtlZXBfbWQ6IHllcwogICAgdG9jOiB5ZXMKICAgIHRvY19kZXB0aDogMgogIGh0bWxfbm90ZWJvb2s6IAogICAgdG9jOiB5ZXMKICAgIHRvY19kZXB0aDogMgotLS0KCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZ9CiMjIFNldHVwLgprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFQsIGNhY2hlID0gVCwgY2FjaGUuY29tbWVudHMgPSBGLCB3YXJuaW5nID0gRiwgbWVzc2FnZSA9IEYpCnJtKGxpc3QgPSBscyhhbGwubmFtZXMgPSBUKSkKbGlicmFyeShybWFya2Rvd24pOyBsaWJyYXJ5KGtuaXRyKTsgbGlicmFyeShncmlkRXh0cmEpCmxpYnJhcnkodGlkeXIpOyBsaWJyYXJ5KGRwbHlyKTsgbGlicmFyeShnZ3Bsb3QyKTsgbGlicmFyeShzdXJ2ZXkpCmBgYAoKYGBge3IgbG9hZC1kYXRhLCBpbmNsdWRlPUZ9CiMjIExvYWQgZGF0YS4KbG9hZCgifi9naXQvZmx1LXN1cnZleS9kYXRhL2NsZWFuaW5nMi5SRGF0YSIpCmxvYWQoIn4vZ2l0L2ZsdS1zdXJ2ZXkvZGF0YS9yZWNvZGluZy5SRGF0YSIpICAjIGxvYWQgImRhdGFyIgpkZiA8LSBkYXRhciAgIyByZWNvZGVkIHZhcmlhYmxlcwpgYGAKCmBgYHtyIGdyb3VwLWRhdGEsIGluY2x1ZGU9Rn0KIyMgUmVncm91cCB2YXJpYWJsZXMuCiMgaW5jb21lCmluY29tZS5tYXAgPC0gYyhyZXAoInVuZGVyICQxMGsiLCAzKSwgcmVwKCIkMTBrIHRvICQyNWsiLCA0KSwKICAgICAgICAgICAgICAgIHJlcCgiJDI1ayB0byAkNTBrIiwgNCksIHJlcCgiJDUwayB0byAkNzVrIiwgMiksCiAgICAgICAgICAgICAgICByZXAoIiQ3NWsgdG8gJDEwMGsiLCAyKSwgcmVwKCIkMTAwayB0byAkMTUwayIsIDIpLAogICAgICAgICAgICAgICAgcmVwKCJvdmVyICQxNTBrIiwgMikpCmRmJGluY29tZSA8LSBjb2RlKGRhdGFyJFBQSU5DSU1QLCBpbmNvbWUubWFwLCAidW5kZXIgJDEwayIpCmluY29tZS5sYWIgPC0gYygidW5kZXIgJDEwayIsICIkMTBrIHRvICQyNWsiLCAiJDI1ayB0byAkNTBrIiwKICAgICAgICAgICAgICAgICIkNTBrIHRvICQ3NWsiLCAiJDc1ayB0byAkMTAwayIsICIkMTAwayB0byAkMTUwayIsCiAgICAgICAgICAgICAgICAib3ZlciAkMTUwayIpCmRmJGluY29tZSA8LSBmYWN0b3IoZGYkaW5jb21lLCBsZXZlbHMgPSBpbmNvbWUubGFiKQoKIyBtYXJpdGFsIHN0YXVzCm1hcml0YWwubWFwIDwtIGMoInNpbmdsZSIsICJwYXJ0bmVyZWQiLCAicGFydG5lcmVkIiwgInNpbmdsZSIsICJzaW5nbGUiLCAic2luZ2xlIikKZGYkbWFyaXRhbCA8LSBjb2RlKGRhdGFmJFBQTUFSSVQsIG1hcml0YWwubWFwLCAic2luZ2xlIikKCiMgd29yayBzdGF0dXMKd29yay5tYXAgPC0gYyhyZXAoInVuZW1wbG95ZWQiLCA1KSwKICAgICAgICAgICAgICByZXAoImVtcGxveWVkIiwgMikpCmRmJHdvcmsgPC0gY29kZShkYXRhZiRQUFdPUkssIHdvcmsubWFwLCAidW5lbXBsb3llZCIpCmBgYAoKYGBge3IgZGVzLXN1cnZleX0KIyMgQ3JlYXRlIHN1cnZleSBvYmplY3QuCm9wdGlvbnMoZGlnaXRzID0gNCkKb3B0aW9ucyhzdXJ2ZXkubG9uZWx5LnBzdSA9ICJhZGp1c3QiKQoKZGVzIDwtIHN2eWRlc2lnbihpZHMgPSB+MSwgd2VpZ2h0cyA9IH53ZWlnaHQsIGRhdGEgPSBkZltpcy5uYShkZiR3ZWlnaHQpPT1GLCBdKQpgYGAKCmBgYHtyIHBsb3QtdGVtcCwgaW5jbHVkZT1GfQojIyBDcmVhdGUgZ2dwbG90IHRlbXBsYXRlcy4KcHRleHQgPC0gdGhlbWUoYXhpcy50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemUgPSByZWwoMC45KSksCiAgICAgICAgICAgICAgIGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gNDUsIGhqdXN0ID0gMSkpCnB0ZXh0MiA8LSBwdGV4dCArIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF9ibGFuaygpKQpgYGAKCgojIyBRMTIuIFdoaWNoIG9mIHRoZSBmb2xsb3dpbmcgYWN0aW9ucyBkbyB5b3UgdGFrZSB0byBhdm9pZCBnZXR0aW5nIHNpY2s/CgoKYGBge3IgcTEyLWRhdGF9CiMgc3Vic2V0IHF1ZXN0aW9uIGRhdGEsIHJlbmFtZSBjb2x1bW5zLCBnYXRoZXIgaW50byBzaW5nbGUgY29sdW1uCnExMl9kZiA8LSBkZiAlPiUKICBzZWxlY3QoQ2FzZUlELCBQUEdFTkRFUiwgUFBBR0UsIHBwYWdlY2F0LCBQUEVUSE0sIFBQSU5DSU1QLCBQUEVEVUMsIFBQRURVQ0FULAogICAgICAgICB3b3JrLCBQUFdPUkssIG1hcml0YWwsIFBQTUFSSVQsIFBQTVNBQ0FULCBwcHJlZzksIFBQU1RBVEVOLCBQUEhPVVNFLCBQUFJFTlQsIFBQTkVULCBRMTJfMTpRMTJfMTUsIHdlaWdodCkgJT4lCiAgICByZW5hbWUoIlExMl8xX0F2b2lkLnRvdWNoaW5nLm15LmV5ZXMiID0gUTEyXzEsCiAgICAgICAgICJRMTJfMl9Bdm9pZC50b3VjaGluZy5teS5ub3NlIiA9IFExMl8yLAogICAgICAgICAiUTEyXzNfQXZvaWQudG91Y2hpbmcubXkubW91dGgiID0JUTEyXzMsCiAgICAgICAgICJRMTJfNF9XYXNoLm15LmhhbmRzLndpdGguc29hcC5tb3JlLm9mdGVuIj0gUTEyXzQsCiAgICAgICAgICJRMTJfNV9Vc2UuaGFuZC5zYW5pdGl6ZXJzIiA9IFExMl81LAogICAgICAgICAiUTEyXzZfQ2xlYW4udGhlLnN1cmZhY2VzLmluLm15LmhvbWUiID0JUTEyXzYsCiAgICAgICAgICJRMTJfN19DbGVhbi50aGUuc3VyZmFjZXMuYXQud29yayIgPSBRMTJfNywKICAgICAgICAgIlExMl84X0VhdC5udXRyaXRpb3VzLmZvb2QiID0gUTEyXzgsCiAgICAgICAgICJRMTJfOV9HZXQuYWRlcXVhdGUucmVzdCIgPSBRMTJfOSwKICAgICAgICAgIlExMl8xMF9HZXQucmVjb21tZW5kZWQudmFjY2luZSIgPQlRMTJfMTAsCiAgICAgICAgICJRMTJfMTFfVGFrZS5wcmV2ZW50aXZlLm1lZGljaW5lIiA9IFExMl8xMSwKICAgICAgICAgIlExMl8xMl9Db3Zlci5teS5ub3NlLmFuZC5tb3V0aC53aXRoLmEuc3VyZ2ljYWwubWFzayIgPSBRMTJfMTIsCiAgICAgICAgICJRMTJfMTNfQXZvaWQuY29udGFjdC53aXRoLnBlb3BsZS53aG8uYXJlLnNpY2siID0gUTEyXzEzLAogICAgICAgICAiUTEyXzE0X0F2b2lkLmNyb3dkZWQucGxhY2VzIiA9IFExMl8xNCwKICAgICAgICAgIlExMl8xNV9PdGhlciIgPSBRMTJfMTUpICU+JQogIGdhdGhlcihRMTJfcSwgUTEyX3IsIFExMl8xX0F2b2lkLnRvdWNoaW5nLm15LmV5ZXM6UTEyXzE1X090aGVyLCBuYS5ybSA9IFQpICU+JQogIG11dGF0ZShRMTJfcSA9IGFzLmZhY3RvcihRMTJfcSkpICU+JQogIG11dGF0ZShRMTJfciA9IGZhY3RvcihRMTJfciwgbGV2ZWxzID0gYygiQWx3YXlzIiwgIlNvbWV0aW1lcyIsICJOZXZlciIpKSkKCiMgc3VydmV5IGRlc2lnbgpvcHRpb25zKGRpZ2l0cyA9IDQpCm9wdGlvbnMoc3VydmV5LmxvbmVseS5wc3UgPSAiYWRqdXN0IikKZGVzMTIgPC0gc3Z5ZGVzaWduKGlkcyA9IH4xLCB3ZWlnaHRzID0gfndlaWdodCwgZGF0YSA9IHExMl9kZltpcy5uYShxMTJfZGYkd2VpZ2h0KT09RiwgXSkKYGBgCgoKYGBge3IgcTEyLXBsb3QtMSwgZmlnLmhlaWdodD0zLCBmaWcud2lkdGg9NX0KIyB3ZWlnaHRlZCBkYXRhIGZyYW1lCnExMiA8LSBkYXRhLmZyYW1lKHN2eXRhYmxlKH5RMTJfcSArIFExMl9yICsgUFBHRU5ERVIgKyBwcGFnZWNhdCArIFBQRVRITSArIFBQSU5DSU1QLCBkZXMxMiwgcm91bmQgPSBUKSkKCiMgcGxvdCB0ZW1wbGF0ZXMKdGl0bGUgPC0gZ2d0aXRsZSgiV2hpY2ggb2YgdGhlIGZvbGxvd2luZyBhY3Rpb25zIGRvIHlvdSB0YWtlIHRvIGF2b2lkIGdldHRpbmcgc2ljaz8iKQoKIyMgbWFpbiBwbG90CnAgPC0gZ2dwbG90KHExMiwgYWVzKFExMl9xLCB3ZWlnaHQgPSBGcmVxKSkgKyBwdGV4dApwICsgZ2VvbV9iYXIocG9zaXRpb24gPSAnZmlsbCcpICsgYWVzKGZpbGwgPSBRMTJfcikgKyB0aXRsZSArIGNvb3JkX2ZsaXAoKQpgYGAKCmBgYHtyIHExMi1wbG90LTFiLCBmaWcuaGVpZ2h0PTMsIGZpZy53aWR0aD01fQpwMiA8LSBnZ3Bsb3QocTEyLCBhZXMoUTEyX3EsIHdlaWdodCA9IEZyZXEpKSArIHB0ZXh0ICsgdGl0bGUKcDIgKyBnZW9tX2JhcigpICsgYWVzKFExMl9yLCBmaWxsID0gUTEyX3IpICsgZmFjZXRfd3JhcCh+UTEyX3EpICsgcHRleHQyCnAyICsgZ2VvbV9iYXIoKSArIGFlcyhRMTJfcSwgZmlsbCA9IFExMl9xKSArIGZhY2V0X3dyYXAoflExMl9yKSArIHB0ZXh0MgpgYGAKCgpgYGB7cn0KIyBieSBnZW5kZXIKcDIgKyBnZW9tX2JhcigpICsgYWVzKFBQR0VOREVSLCBmaWxsID0gUTEyX3IpICsgZmFjZXRfd3JhcCh+UTEyX3EpICsgZ2d0aXRsZSgiQnkgZ2VuZGVyIikKcDIgKyBnZW9tX2Jhcihwb3NpdGlvbiA9ICJmaWxsIikgKyBhZXMoUFBHRU5ERVIsIGZpbGwgPSBRMTJfcikgKyBmYWNldF93cmFwKH5RMTJfcSkKcDIgKyBnZW9tX2JhcigpICsgYWVzKFExMl9xLCBmaWxsID0gUFBHRU5ERVIpICsgZmFjZXRfd3JhcCh+UTEyX3IpCnAyICsgZ2VvbV9iYXIocG9zaXRpb24gPSAnZmlsbCcpICsgYWVzKFExMl9xLCBmaWxsID0gUFBHRU5ERVIpICsgZmFjZXRfd3JhcCh+UTEyX3IpICsgZ2d0aXRsZSgiQnkgZ2VuZGVyIikKcDIgKyBnZW9tX2JhcigpICsgYWVzKFBQR0VOREVSLCBmaWxsID0gUFBHRU5ERVIpICsgZmFjZXRfZ3JpZChRMTJfcX5RMTJfcikgKyBjb29yZF9mbGlwKCkgKyBwdGV4dDIKCmBgYAoKYGBge3J9CiMgYnkgYWdlIGdyb3VwCnAyICsgZ2VvbV9iYXIoKSArIGFlcyhwcGFnZWNhdCwgZmlsbCA9IFExMl9yKSArIGZhY2V0X3dyYXAoflExMl9xKSArIGdndGl0bGUoIkJ5IGFnZSBncm91cCIpCnAyICsgZ2VvbV9iYXIocG9zaXRpb24gPSAiZmlsbCIpICsgYWVzKHBwYWdlY2F0LCBmaWxsID0gUTEyX3IpICsgZmFjZXRfd3JhcCh+UTEyX3EpCnAyICsgZ2VvbV9iYXIoKSArIGFlcyhRMTJfcSwgZmlsbCA9IHBwYWdlY2F0KSArIGZhY2V0X3dyYXAoflExMl9yKQpwMiArIGdlb21fYmFyKHBvc2l0aW9uID0gJ2ZpbGwnKSArIGFlcyhRMTJfcSwgZmlsbCA9IHBwYWdlY2F0KSArIGZhY2V0X3dyYXAoflExMl9yKSArIGdndGl0bGUoIkJ5IGFnZSBncm91cCIpCnAyICsgZ2VvbV9iYXIoKSArIGFlcyhwcGFnZWNhdCwgZmlsbCA9IHBwYWdlY2F0KSArIGZhY2V0X2dyaWQoUTEyX3F+UTEyX3IpICsgcHRleHQyCgpgYGAKCmBgYHtyfQojIGJ5IGV0aG5pYyBncm91cApwMiArIGdlb21fYmFyKCkgKyBhZXMoUFBFVEhNLCBmaWxsID0gUTEyX3IpICsgZmFjZXRfd3JhcCh+UTEyX3EpICsgZ2d0aXRsZSgiQnkgZXRobmljIGdyb3VwIikKcDIgKyBnZW9tX2Jhcihwb3NpdGlvbiA9ICJmaWxsIikgKyBhZXMoUFBFVEhNLCBmaWxsID0gUTEyX3IpICsgZmFjZXRfd3JhcCh+UTEyX3EpCnAyICsgZ2VvbV9iYXIoKSArIGFlcyhRMTJfcSwgZmlsbCA9IFBQRVRITSkgKyBmYWNldF93cmFwKH5RMTJfcikKcDIgKyBnZW9tX2Jhcihwb3NpdGlvbiA9ICdmaWxsJykgKyBhZXMoUTEyX3EsIGZpbGwgPSBQUEVUSE0pICsgZmFjZXRfd3JhcCh+UTEyX3IpICsgZ2d0aXRsZSgiQnkgZXRobmljIGdyb3VwIikKcDIgKyBnZW9tX2JhcigpICsgYWVzKFBQRVRITSwgZmlsbCA9IFBQRVRITSkgKyBmYWNldF9ncmlkKFExMl9xflExMl9yKSArIHB0ZXh0MgpwMiArIGdlb21fYmFyKCkgKyBhZXMoUTEyX3IsIGZpbGwgPSBRMTJfcikgKyBmYWNldF9ncmlkKFExMl9xflBQRVRITSkgKyBwdGV4dDIKCmBgYAoKYGBge3J9CiMgYnkgaW5jb21lCnAyICsgZ2VvbV9iYXIoKSArIGFlcyhQUElOQ0lNUCwgZmlsbCA9IFExMl9yKSArIGZhY2V0X3dyYXAoflExMl9xKSArIGdndGl0bGUoIkJ5IGluY29tZSIpICsgcHRleHQyCnAyICsgZ2VvbV9iYXIocG9zaXRpb24gPSAiZmlsbCIpICsgYWVzKFBQSU5DSU1QLCBmaWxsID0gUTEyX3IpICsgZmFjZXRfd3JhcCh+UTEyX3EpICsgcHRleHQyCnAyICsgZ2VvbV9iYXIoKSArIGFlcyhRMTJfcSwgZmlsbCA9IFBQSU5DSU1QKSArIGZhY2V0X3dyYXAoflExMl9yKQpwMiArIGdlb21fYmFyKHBvc2l0aW9uID0gJ2ZpbGwnKSArIGFlcyhRMTJfcSwgZmlsbCA9IFBQSU5DSU1QKSArIGZhY2V0X3dyYXAoflExMl9yKSArIGdndGl0bGUoIkJ5IGluY29tZSBncm91cCIpCnAyICsgZ2VvbV9iYXIoKSArIGFlcyhQUElOQ0lNUCwgZmlsbCA9IFBQSU5DSU1QKSArIGZhY2V0X2dyaWQoUTEyX3F+UTEyX3IpICsgcHRleHQyCgpgYGAKCgojIyMgRWR1Y2F0aW9uLCB3b3JrLCBtYXJpdGFsIHN0YXR1cwoKYGBge3IgcTEyLXBsb3QtMn0KIyB1cGRhdGUgd2VpZ2h0ZWQgZGF0YSBmcmFtZQpxMTIuMiA8LSBkYXRhLmZyYW1lKHN2eXRhYmxlKH5RMTJfcSArIFExMl9yICsgUFBFRFVDICsgUFBFRFVDQVQgKyB3b3JrICsgUFBXT1JLICsgbWFyaXRhbCArIFBQTUFSSVQsIGRlczEyLCByb3VuZCA9IFQpKQoKIyByZXN0YXRlIHBsb3RzCnAzIDwtIGdncGxvdChxMTIuMiwgYWVzKFExMl9xLCB3ZWlnaHQgPSBGcmVxKSkgKyBwdGV4dApgYGAKCmBgYHtyIHExMi1wbG90LTJifQojIGJ5IGVkdWNhdGlvbgpwMyArIGdlb21fYmFyKCkgKyBhZXMoUFBFRFVDQVQsIGZpbGwgPSBRMTJfcikgKyBmYWNldF93cmFwKH5RMTJfcSkgKyBnZ3RpdGxlKCJCeSBlZHVjYXRpb24iKQpwMyArIGdlb21fYmFyKHBvc2l0aW9uID0gImZpbGwiKSArIGFlcyhQUEVEVUNBVCwgZmlsbCA9IFExMl9yKSArIGZhY2V0X3dyYXAoflExMl9xKQpwMyArIGdlb21fYmFyKCkgKyBhZXMoUTEyX3EsIGZpbGwgPSBQUEVEVUNBVCkgKyBmYWNldF93cmFwKH5RMTJfcikKcDMgKyBnZW9tX2Jhcihwb3NpdGlvbiA9ICJmaWxsIikgKyBhZXMoUTEyX3EsIGZpbGwgPSBQUEVEVUNBVCkgKyBmYWNldF93cmFwKH5RMTJfcikgKyBnZ3RpdGxlKCJCeSBlZHVjYXRpb24iKQpwMyArIGdlb21fYmFyKCkgKyBhZXMoUFBFRFVDQVQsIGZpbGwgPSBQUEVEVUNBVCkgKyBmYWNldF9ncmlkKFExMl9xflExMl9yKSArIHB0ZXh0MgpwMyArIGdlb21fYmFyKCkgKyBhZXMoUTEyX3IsIGZpbGwgPSBRMTJfcikgKyBmYWNldF9ncmlkKFExMl9xflBQRURVQ0FUKSArIHB0ZXh0MgoKYGBgCgpgYGB7cn0KIyBieSB3b3JrCnAzICsgZ2VvbV9iYXIoKSArIGFlcyh3b3JrLCBmaWxsID0gUTEyX3IpICsgZmFjZXRfd3JhcCh+UTEyX3EpICsgZ2d0aXRsZSgiQnkgZW1wbG95bWVudCBzdGF0dXMiKQpwMyArIGdlb21fYmFyKHBvc2l0aW9uID0gImZpbGwiKSArIGFlcyh3b3JrLCBmaWxsID0gUTEyX3IpICsgZmFjZXRfd3JhcCh+UTEyX3EpCgpgYGAKCmBgYHtyfQojIGJ5IG1hcml0YWwKcDMgKyBnZW9tX2JhcigpICsgYWVzKG1hcml0YWwsIGZpbGwgPSBRMTJfcikgKyBmYWNldF93cmFwKH5RMTJfcSkgKyBnZ3RpdGxlKCJCeSBtYXJpdGFsIHN0YXR1cyIpCnAzICsgZ2VvbV9iYXIocG9zaXRpb24gPSAiZmlsbCIpICsgYWVzKG1hcml0YWwsIGZpbGwgPSBRMTJfcikgKyBmYWNldF93cmFwKH5RMTJfcSkKCmBgYAoKIyMjIE1ldHJvIHN0YXR1cywgcmVnaW9uLCBzdGF0ZSwgaG91c2UgdHlwZSwgaG91c2luZyBzdGF0dXMsIGludGVybmV0IGF2YWlsYWJpbGl0eQoKYGBge3IgcTEyLXBsb3QtM30KIyB1cGRhdGUgd2VpZ2h0ZWQgZGF0YSBmcmFtZQpxMTIuMyA8LSBkYXRhLmZyYW1lKHN2eXRhYmxlKH5RMTJfcSArIFExMl9yICsgUFBNU0FDQVQgKyBwcHJlZzkgKyBQUFNUQVRFTiArIFBQSE9VU0UgKyBQUFJFTlQgKyBQUE5FVCwgZGVzMTIsIHJvdW5kID0gVCkpCgojIHJlc3RhdGUgcGxvdHMKcDQgPC0gZ2dwbG90KHExMi4zLCBhZXMoUTEyX3EsIHdlaWdodCA9IEZyZXEpKSArIHB0ZXh0CmBgYAoKYGBge3IgcTEyLXBsb3QtM2J9CiMgYnkgbWV0cm8gc3RhdHVzCnA0ICsgZ2VvbV9iYXIocG9zaXRpb24gPSAiZmlsbCIpICsgYWVzKFExMl9yLCBmaWxsID0gUFBNU0FDQVQpICsgZmFjZXRfd3JhcCh+UTEyX3EpICsgZ2d0aXRsZSgiQnkgbWV0cm8gc3RhdHVzIikKcDQgKyBnZW9tX2Jhcihwb3NpdGlvbiA9ICJmaWxsIikgKyBhZXMoUFBNU0FDQVQsIGZpbGwgPSBRMTJfcikgKyBmYWNldF93cmFwKH5RMTJfcSkKCiMgYnkgcmVnaW9uCnA0ICsgZ2VvbV9iYXIocG9zaXRpb24gPSAiZmlsbCIpICsgYWVzKFExMl9yLCBmaWxsID0gcHByZWc5KSArIGZhY2V0X3dyYXAoflExMl9xKSArIGdndGl0bGUoIkJ5IHJlZ2lvbiIpCnA0ICsgZ2VvbV9iYXIoKSArIGFlcyhwcHJlZzksIGZpbGwgPSBRMTJfcikgKyBmYWNldF93cmFwKH5RMTJfcSkgKyBnZ3RpdGxlKCJCeSByZWdpb24iKQoKIyBieSBzdGF0ZQpwNCArIGdlb21fYmFyKCkgKyBhZXMoUTEyX3IsIGZpbGwgPSBQUFNUQVRFTikgKyBmYWNldF93cmFwKH5RMTJfcSkgKyBnZ3RpdGxlKCJCeSBzdGF0ZSIpCnA0ICsgZ2VvbV9iYXIoKSArIGFlcyhQUFNUQVRFTiwgZmlsbCA9IFExMl9xKSArIGNvb3JkX2ZsaXAoKSArIGdndGl0bGUoIkJ5IHN0YXRlIikKYGBgCgpgYGB7cn0KIyBieSBob3VzZSB0eXBlCnA0ICsgZ2VvbV9iYXIocG9zaXRpb24gPSAiZmlsbCIpICsgYWVzKFExMl9yLCBmaWxsID0gUFBIT1VTRSkgKyBmYWNldF93cmFwKH5RMTJfcSkKcDQgKyBnZW9tX2Jhcihwb3NpdGlvbiA9ICJmaWxsIikgKyBhZXMoZmlsbCA9IFBQSE9VU0UpICsgZ2d0aXRsZSgiQnkgaG91c2UgdHlwZSIpCgojIGhvdXNpbmcgc3RhdHVzCnA0ICsgZ2VvbV9iYXIocG9zaXRpb24gPSAiZmlsbCIpICsgYWVzKFExMl9yLCBmaWxsID0gUFBIT1VTRSkgKyBmYWNldF93cmFwKH5RMTJfcSkKcDQgKyBnZW9tX2JhcigpICsgYWVzKFBQSE9VU0UsIGZpbGwgPSBRMTJfcikgKyBmYWNldF93cmFwKH5RMTJfcSkgKyBnZ3RpdGxlKCJCeSBob3VzaW5nIikKCiMgYnkgaW50ZXJuZXQgYXZhaWxhYmlsaXR5CnA0ICsgZ2VvbV9iYXIocG9zaXRpb24gPSAiZmlsbCIpICsgYWVzKFExMl9yLCBmaWxsID0gUFBORVQpICsgZmFjZXRfd3JhcCh+UTEyX3EpCnA0ICsgZ2VvbV9iYXIocG9zaXRpb24gPSAiZmlsbCIpICsgYWVzKFBQTkVULCBmaWxsID0gUTEyX3IpICsgZmFjZXRfd3JhcCh+UTEyX3EpICsgZ2d0aXRsZSgiQnkgaW50ZXJuZXQgYXZhaWxhYmlsaXR5IikKCmBgYAoKCgoK